As known, recommender systems help users search large amounts of digital content and services by allowing them to identify the items (e.g., movies, music, books, news, web pages, . . . ) that are likely to be more attractive or useful, inferring such recommendations on the basis of different elements (e.g., popularity, demographic information, individual or aggregate past preferences and choices, explicit ratings on a sample of suggested elements).
How much an item interests and attracts a user is called relevance. Thus, a recommender system estimates the relevance of a user based on a collection of items. Such information is especially useful in situations where the number of items is continuously growing (for instance, the huge amount of contents available on broadcast channels) and the amount of relevant data is relatively low.
These systems recommend the user on the basis of a model of the user profile, i.e., his tastes, interests or attitudes. Thus, for example, if the item collection consists of TV programs and the user to recommend is a baby, the system will propose a list of cartoons because the baby's profile somehow matches with cartoons and it does not match with horror or action films.
The increasingly vast arena of recommender systems can be classified along multiple dimensions. A key taxonomic criterion is to distinguish between systems that offer non personalized and personalized recommendations.
While non-personalized recommender systems (e.g., most popular movies) do not take into account the user profile, personalized systems make their recommendations on the basis of a “user model” (e.g., past user behavior, explicit or implicit user interests).
The two main classes of personalized systems are content-based and collaborative systems. The former suggest items whose content is similar to the content of items that the user rated positively in the past, while the latter ignore content and exploit “collective preferences of the crowd”.
In particular, content-based algorithms recommend items whose content is similar to the content of items the user has positively rated in the past. Similarity is computed based on the explicit content features associated with the items (e.g., a movie can be characterized by a genre, a director, a list of actors, and a summary). Since such recommender systems tend to recommend items with the same characteristics as the ones a user liked in the past, the items typically lack of novelty, meaning the system proposes a limited variety of unexpected recommendations.
On the other hand, collaborative algorithms recommend items on the basis of the ratings provided by groups of users.
Such approaches generate recommendations using different users' rating profiles and suggest items that other users with similar tastes “liked” in the past. The degree to which two user tastes are deemed similar is based on the similarity of their rating histories. Roughly speaking, the approach can be summarized as “people who watched this TV program also watched . . . ”. Collaborative techniques are the most popular and widely implemented because their integration in existing domains is relatively easy and their quality is generally higher than that of other techniques.
Collaborative recommender systems are known to provide most accurate recommendations compared to content-based recommender systems.
However, collaborative recommender systems are typically designed for application to two-way or bidirectional environments, where a plurality of users' preferences can be detected and collected, processed at a backend side and then feed-back to the user device again in form of a recommendation. Conventionally, a collaborative recommender system is designed for two-way TV service (e.g., IPTV, OTT), where the return channel—i.e., the communication from the user's set-top-box to the service provider—allows a centralized service to identify and monitor users actions in order to generate personalized recommendations.
Traditional TV systems only allow one-way communication (e.g., DVB-S and DVB-T), preventing the use of a centralized collaborative recommendation engine. In fact, traditional broadcast media delivery systems such as DVB-S and DVB-T are based on one-way communication channels and do not allow to use traditional recommender systems implemented as back-end service, where recommendations for a specific user are computed by a back-end server. In fact, a broadcast recommender system cannot interrogate the back-end server. In such an architecture, the component in charge of generating recommendation is the STB (set top box), i.e., the apparatus the user interacts with and that displays both media broadcast by the content provider and other information, among which recommendations (i.e., suggestions about items that are likely to be of interests for the user).
This configuration makes collaborative filtering not feasible since such approach to recommendation operates on collections of multiple user profiles, information not available since each STB is aware only of its own user preferences.
Moreover, STBs run software applications (e.g., a recommender system) but face with embedded systems with limited memory and computation capabilities.
Thus, conventional broadcast recommender methods are so limited to non-personalized or to keyword-based approaches.
Non Personalized
The simplest way of providing recommendations is by means of non-personalized approaches. For instance, the service provider can compose an editorial list of top-rated or top-viewed movies and broadcast this list to each TV set, which will show this list to users. In addition, the STB can be added the capability of discarding the display of movies/TV programs the user has already watched in the past, so that the user is not recommended with something he/she has already bought or watched.
Keyword-Based
The STB selects the items to recommend according to a recommendation score that depends on the keywords representing the item content and the user profile, expressed in terms of keywords. Item content keywords can be extracted from the item description (e.g., the EPG for TV programs), while the keywords describing the user profile can be derived from the keywords of items previously rated by the user. Each keyword in the user profile will have a weight depending on the time spent by the user watching programs with that keyword.
The higher the matching between the item keywords and the user profile keywords the higher the recommendation scores. The items with the highest recommendation score will be recommended to the user by the STB.
In particular, according to the prior art, it has already been proposed to implement a recommender system within the same set-top-box for this kind of one-way TV services. This is typically a content-based system, relying only on items' descriptions and a user model built on the behavior history of the same user of the device. This solution suffers of the typical drawbacks of a content-based recommender system. In particular, all the broadcast media shall contain meta-tag or other readable items which let the system recognize the content of the media, store and evaluate it and finally implement the recommendation. Additionally, as already said, this kind of design requires a high computational capacity of the set-top-box to locally implement the recommender model and update it with history data.
US2008022307 discloses an example of such a content-based recommender system for a broadcast channel TV set. A broadcast program recommendation method is disclosed, which can readily select a desired broadcast program channel for a user by selecting a plurality of broadcast program channels ranked using a usage history of said user.
Summarizing, current collaborative recommender systems for TV services require the presence of a two-way communication channel: the return channel allows the provider to identify the user and acquire, either explicitly or implicitly, his/her preferences to be used by the recommender system to suggest personalized content.
Unfortunately, traditional TV delivery systems only allow for one-way communication (e.g., satellite TV and digital terrestrial television), preventing the recommender system from identifying the users and actively collecting and comparing their preferences. As a consequence, the STB is the only component of the system aware of the user activity and, therefore, of the user preferences. In this environment of broadcast communication, the STB is the only component that can be in charge of computing the recommendation list for a TV user. This largely limits the recommendation capabilities, mainly for two reasons:
(i) the user's STB does not have any knowledge of the collective behavior of other users; therefore, the STB cannot apply collaborative recommendation techniques based on the social behavior of a community of users; this is a strong limitation as collaborative recommendation techniques are known to be the most effective and accurate, as they are able to provide novel and useful recommendations;
(ii) the user's STB is an embedded system with limited computational and memory capabilities; for this reason, the vast majority of recommender algorithms cannot be executed on the STB because their computational and memory requirements exceed the STB capabilities.